// !@#$McCaBe-InStRuMeNtAtIoN$#@!
// Instrumented with the McCabe Java Parser
// Version: 8.1.0.1 - 20110309
// Using Path Vector Instrumentation
// Date: Sun Apr 01 2012 20:43:07
package Model;

import java.util.ArrayList;

import com.mccabe.*;


class VenueTimeslot_0ef76fa41381a318b17e66e23d826825 {
    static java.lang.Object info[];
    static {
        info = new java.lang.Object[2];
        info[0] = new Integer(-1);
        info[1] = new String("R:\\yu\\Concordia\\SOEN 344 Design II\\Term Assignment\\Code Repo\\trunk\\Iteration 3\\ERS\\src\\Model\\VenueTimeslot.java");
    }
}


/**
 * The object of venue timeslot is assigned to every event instance and represents a set of seats in space (Venue) and time (time of the event).
 * This class is used to treats 3D physical seats in a 4D world.
 * 
 * @author Yury Kitaev
 *
 */
public class VenueTimeslot 
{
	private Venue venue;
	private ArrayList<Seat> seats;
	
	/**
	 * Construtor 
	 * @param name The name of the venue
	 * @param address The address
	 * @param capacity Maximum number of seats available for reservation
	 */
	public VenueTimeslot(Venue venue) 
	{
		super();
int _mcFreq_15bcf387af9135c053e7ce2750e1074e[] = PathVec_ERS_Iter3.getIntArray(0);
PathVec_ERS_Iter3.releaseIntArray();
PathVec_ERS_Iter3.enterConstructorWithECC(VenueTimeslot_0ef76fa41381a318b17e66e23d826825.info,0,_mcFreq_15bcf387af9135c053e7ce2750e1074e,0);

		
		this.venue = venue;

		// Venue creates its own seats - GRASP principle "Creator"
		this.seats = new ArrayList<Seat>();
		for (int i = 0; 
PathVec_ERS_Iter3.decision(VenueTimeslot_0ef76fa41381a318b17e66e23d826825.info,0,_mcFreq_15bcf387af9135c053e7ce2750e1074e,1,2,
PathVec_ERS_Iter3.testCondition(i < venue.getCapacity()
))
; ++i)
		{
			Seat seat = new Seat(false, i+1, this);
			seats.add(seat);
		}
	}

	public Venue getVenue() 
	{
int _mcFreq_81480a88f79cb1f62213511bb7da8bc0[] = new int[1];
PathVec_ERS_Iter3.enterMethod(VenueTimeslot_0ef76fa41381a318b17e66e23d826825.info,1,_mcFreq_81480a88f79cb1f62213511bb7da8bc0,0);

		return venue;
	}

	public void setVenue(Venue venue) 
	{
int _mcFreq_94aa25e367581f8ab8bc51629e6be8b7[] = new int[1];
PathVec_ERS_Iter3.enterMethod(VenueTimeslot_0ef76fa41381a318b17e66e23d826825.info,2,_mcFreq_94aa25e367581f8ab8bc51629e6be8b7,0);

		this.venue = venue;
	}

	public ArrayList<Seat> getSeats() 
	{
int _mcFreq_542a7e825ae6462d6d49d4d5e0f9cb06[] = new int[1];
PathVec_ERS_Iter3.enterMethod(VenueTimeslot_0ef76fa41381a318b17e66e23d826825.info,3,_mcFreq_542a7e825ae6462d6d49d4d5e0f9cb06,0);

		return seats;
	}

	public void setSeats(ArrayList<Seat> seats) 
	{
int _mcFreq_90675660b886b4cb0bb8743539c1d0ca[] = new int[1];
PathVec_ERS_Iter3.enterMethod(VenueTimeslot_0ef76fa41381a318b17e66e23d826825.info,4,_mcFreq_90675660b886b4cb0bb8743539c1d0ca,0);

		this.seats = seats;
	}	
}
